/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package administrador;
/*
 * Javier Abellán. 30 de octubre de 2003
 *
 * RenderTabla.java
 *
 */

import java.awt.Component;
import java.awt.Color;
import javax.swing.table.TableCellRenderer;
import javax.swing.JTable;
import javax.swing.JLabel;
import javax.swing.Icon;
import javax.swing.JTextField;

/**
 */
public class RenderTabla extends JLabel implements TableCellRenderer
 {
     /**
      * Constructor por defecto.
      */
     public RenderTabla(Icon[] iconos)
    {
        this.iconos = iconos;
     }
     public RenderTabla()
    {
        this.iconos = iconos;
     }
     /**  Returns the component used for drawing the cell.  This method is
      *  used to configure the renderer appropriately before drawing.
      *
      * @param	table		the <code>JTable</code> that is asking the
      * 				renderer to draw; can be <code>null</code>
      * @param	value		the value of the cell to be rendered.  It is
      * 				up to the specific renderer to interpret
      * 				and draw the value.  For example, if
      * 				<code>value</code>
      * 				is the string "true", it could be rendered as a
      * 				string or it could be rendered as a check
      * 				box that is checked.  <code>null</code> is a
      * 				valid value
      * @param	isSelected	true if the cell is to be rendered with the
      * 				selection highlighted; otherwise false
      * @param	hasFocus	if true, render cell appropriately.  For
      * 				example, put a special border on the cell, if
      * 				the cell can be edited, render in the color used
      * 				to indicate editing
      * @param	row	        the row index of the cell being drawn.  When
      * 				drawing the header, the value of
      * 				<code>row</code> is -1
      * @param	column	        the column index of the cell being drawn
      *
      */
     public Component getTableCellRendererComponent(JTable table, Object value,
        boolean isSelected, boolean hasFocus, int row, int column) 
     {
         JLabel etiquetaIcon = new JLabel();
         JTextField etiqueta = new JTextField();
         Color col;
         Color colB;
         
         if (value instanceof Object)
         {
         //Pregunto el valor de los dias para dar el formato:
         int dias=(Integer)table.getValueAt(row, 7); 
         
             Object valor = value;
             //System.out.println("El valor es:"+dias);
             if (dias > 60){
                //etiqueta.setIcon (iconos[2]);
                col = new Color(0,0,0);
                colB = new Color(213, 254,213 ); 
                etiqueta.setText(String.valueOf(valor));
                etiqueta.setForeground(col);
                etiqueta.setBackground(colB);
             }else if (dias > 32){
                col = new Color(0,0,0);
                colB = new Color(113, 173,246 ); 
                etiqueta.setText(String.valueOf(valor));
                etiqueta.setForeground(col);
                etiqueta.setBackground(colB);
                
             }else if (dias>0){
                col = new Color(0, 0, 0);
                colB = new Color(253, 127, 127); 
                etiqueta.setText(String.valueOf(valor));
                etiqueta.setForeground(col);
                etiqueta.setBackground(colB);
             }else if (dias<=0){
                ////System.out.println("La columna es:"+column);
                 if (column == 7) {
                     etiquetaIcon.setIcon(iconos[0]);
                     etiquetaIcon.setToolTipText (valor.toString());
                     //etiquetaIcon.setEnabled(true);
                     return etiquetaIcon;
                 }else{
                    col = new Color(235, 229, 229);
                    colB = new Color(214, 61, 61); 
                    etiqueta.setText(String.valueOf(valor));
                    etiqueta.setForeground(col);
                    etiqueta.setBackground(colB);
                 
                 }
             }
             etiqueta.setToolTipText (valor.toString());
             
         
         
         
     }
         
         
    if (isSelected){ 
         col = new Color(246, 230, 194);
         colB = new Color(103, 103, 102);
         etiqueta.setForeground(col);
         etiqueta.setBackground (colB);
     }else{//etiqueta.setBackground (Color.YELLOW);

     }
     return etiqueta;   
         
//         if (value instanceof String)
//         {
//             //String valor = value.toString();
//                 //etiqueta.setOpaque(true);
//                 //etiqueta.setText((String)value);
//                 etiqueta.setText(String.valueOf(value));
//                 etiqueta.setForeground(Color.RED);
//                 //etiqueta.setText(String.valueOf(valor));
//                
//                 
//         }
         
//         if (value instanceof Object)
//         {
//             //String valor = value.toString();
//                 //etiqueta.setOpaque(true);
//                 //etiqueta.setText((String)value);
//                 etiqueta.setText(String.valueOf(value));
//                 etiqueta.setForeground(Color.RED);
//                 //etiqueta.setText(String.valueOf(valor));
//                
//                 
//         }
         
//         if (value instanceof Integer)
//         {
//             int valor = ((Integer)value).intValue();
//             if (valor > 60){
//                //etiqueta.setIcon (iconos[2]);
//                etiqueta.setText(String.valueOf(valor));
//                
//                //etiqueta.setForeground(Color.red);
//             }else if (valor > 30){
//                 etiqueta.setIcon (iconos[1]);
//             }else{
//                 etiqueta.setIcon (iconos[0]);
//                 
//             etiqueta.setToolTipText (Integer.toString (valor));
//         }
//         if(column==6){
//         //System.out.println("La fila seleccionada es la:"+column);   
//          if (value instanceof Integer)
//         {
//             int valor = ((Integer)value).intValue();
//              
//            //System.out.println("El valor es:"+valor);
//             if (valor > 60){
//                //etiqueta.setIcon (iconos[2]);
//                col = new Color(0,0,0);
//                colB = new Color(213, 254,213 ); 
//                etiqueta.setText(String.valueOf(valor));
//                etiqueta.setForeground(col);
//                etiqueta.setBackground(colB);
//             }else if (valor > 32){
//                col = new Color(0,0,0);
//                colB = new Color(113, 173,246 ); 
//                etiqueta.setText(String.valueOf(valor));
//                etiqueta.setForeground(col);
//                etiqueta.setBackground(colB);
//                
//             }else if (valor>0){
//                col = new Color(0, 0, 0);
//                colB = new Color(248, 71, 100); 
//                etiqueta.setText(String.valueOf(valor));
//                etiqueta.setForeground(col);
//                etiqueta.setBackground(colB);
//             }else if (valor<=0){
//                etiquetaIcon.setIcon (iconos[0]);
//                return etiquetaIcon;
//             }
//             etiqueta.setToolTipText (Integer.toString (valor));
//             etiqueta.setEnabled(true);
//         }
//         }
//         
//         
         
         
//         if(column==6){
//          if (value instanceof Double)
//         {
//             double valor = ((Double)value).doubleValue();
//             if (valor > 60){
//                etiqueta.setIcon (iconos[2]);
//                //etiqueta.setText(String.valueOf(valor));
//                
//                //etiqueta.setForeground(Color.red);
//             }else if (valor > 30)
//                 etiqueta.setIcon (iconos[1]);
//             else
//                 etiqueta.setIcon (iconos[0]);
//             etiqueta.setToolTipText (Double.toString (valor));
//         }
//         }
         
         
//         if (value instanceof Double)
//         {
//             double valor = ((Double)value).doubleValue();
//             if (valor > 60){
//                //etiqueta.setIcon (iconos[2]);
//                etiqueta.setText(String.valueOf(valor));
//                
//                //etiqueta.setForeground(Color.red);
//             }else if (valor > 30)
//                 etiqueta.setIcon (iconos[1]);
//             else
//                 etiqueta.setIcon (iconos[0]);
//             etiqueta.setToolTipText (Double.toString (valor));
//         }
//         
//         return etiqueta;
     }
     
     private Icon[] iconos = null;
}

